#import "sybase_sup.h"
#import "SUPAnnotations.h"

#import "SUPAbstractEntity.h"
#import "SUPObjectList.h"
#import "SUPLogRecord.h"
#import "SUPMobileBusinessObject.h"
#import "Notification_Task4_Notification_Task4DB.h"
#import "Notification_Task4_PersonalizationParameters.h"


@class Notification_Task4_NOTIFICATION_PARTNER;
@class SUPEntityMetaData;
@class SUPQuery;

// public interface declaration, can be used by application. 
/*!
 @class Notification_Task4_GetAddress
 @abstract This class is part of package "Notification_Task4:1.0"
 @discussion Generated by Sybase Unwired Platform, compiler version 1.5.2.917
*/ 
@interface Notification_Task4_GetAddress : SUPAbstractEntity<SUPMobileBusinessObject>
{
@private
    NSString* _PARTNER_KEY_HEADER;
    NSString* _PARTNER_TYPE;
    NSString* _PARTNER_ID;
    NSString* _ADDRESS_ID;
    NSString* _NAME1;
    NSString* _NAME2;
    NSString* _NAME3;
    NSString* _NAME4;
    NSString* _CITY1;
    NSString* _CITY2;
    NSString* _POST_CODE1;
    NSString* _POST_CODE2;
    NSString* _COUNTRY;
    NSString* _REGION;
    NSString* _STREET;
    NSString* _PO_BOX;
    NSString* _LANGU;
    NSString* _TEL_NUMBER;
    NSString* _TEL_EXTENSION;
    NSString* _FAX_NUMBER;
    NSString* _FAX_EXTENSION;
    NSString* _TLX_NUMBER;
    NSString* _TTX_NUMBER;
    NSString* _SORT1;
    NSString* _NAME_LIST;
    NSString* _REMARK;
    NSString* _TZONSP;
    NSDate* _DATUM;
    NSDate* _UZEIT;
    NSString* _HOUSE_NUM1;
    NSString* _ENHANCEMENT_FLAG;
    NSString* _ME_ACTION;
    NSString* _PARTNER_KEY;
    Notification_Task4_NOTIFICATION_PARTNER* _NOTIFICATIONPARTNER;
    BOOL _NOTIFICATIONPARTNERValid;
    NSNumber* _NOTIFICATIONPARTNERFK;
    int64_t _surrogateKey;
}

@property(retain) NSString* PARTNER_KEY_HEADER;
@property(retain) NSString* PARTNER_TYPE;
@property(retain) NSString* PARTNER_ID;
@property(retain) NSString* ADDRESS_ID;
@property(retain) NSString* NAME1;
@property(retain) NSString* NAME2;
@property(retain) NSString* NAME3;
@property(retain) NSString* NAME4;
@property(retain) NSString* CITY1;
@property(retain) NSString* CITY2;
@property(retain) NSString* POST_CODE1;
@property(retain) NSString* POST_CODE2;
@property(retain) NSString* COUNTRY;
@property(retain) NSString* REGION;
@property(retain) NSString* STREET;
@property(retain) NSString* PO_BOX;
@property(retain) NSString* LANGU;
@property(retain) NSString* TEL_NUMBER;
@property(retain) NSString* TEL_EXTENSION;
@property(retain) NSString* FAX_NUMBER;
@property(retain) NSString* FAX_EXTENSION;
@property(retain) NSString* TLX_NUMBER;
@property(retain) NSString* TTX_NUMBER;
@property(retain) NSString* SORT1;
@property(retain) NSString* NAME_LIST;
@property(retain) NSString* REMARK;
@property(retain) NSString* TZONSP;
@property(retain) NSDate* DATUM;
@property(retain) NSDate* UZEIT;
@property(retain) NSString* HOUSE_NUM1;
@property(retain) NSString* ENHANCEMENT_FLAG;
@property(retain) NSString* ME_ACTION;
@property(retain) NSString* PARTNER_KEY;

@property(retain) NSNumber* NOTIFICATIONPARTNERFK;
@property(assign) int64_t surrogateKey;

- (void)dealloc;
/*!
  @method 
  @abstract Create this entity row in the database
  @discussion
  @throws SUPPersistenceException
 */
- (void)create;
/*!
  @method 
  @abstract Update this entity row in the database
  @discussion
  @throws SUPPersistenceException
 */
- (void)update;
/*!
  @method 
  @abstract Delete this entity row from the database
  @discussion
  @throws SUPPersistenceException
 */
- (void)delete;
/*!
  @method 
  @abstract Copy all attributes (except relationships) from 'other' to this entity
  @discussion
 */
- (void)copyAll:(Notification_Task4_GetAddress*)other;
/*!
  @method 
  @abstract Returns the number of entity rows satisfying this query
  @discussion
  @throws SUPPersistenceException
 */
+ (int32_t)countWithQuery:(SUPQuery*)query;
/*!
  @method 
  @abstract Returns the entity for the primary key value passed in, or null if the entity is not found.
  @discussion
  @throws SUPPersistenceException
 */
+ (Notification_Task4_GetAddress*)find:(int64_t)id;
/*!
  @method 
  @abstract Same as the find method above, but takes a string representation of the primary key as its parameter.
  @discussion
  @throws SUPPersistenceException
 */
+ (Notification_Task4_GetAddress*)find_by_id_string:(NSString*)id_string;
/*!
  @method 
  @abstract Returns an SUPObjectList of entity rows satisfying this query
  @discussion
  @throws SUPPersistenceException
 */
+ (SUPObjectList*)findWithQuery:(SUPQuery*)query;
/*!
  @method 
  @abstract Returns the primary key for this entity.
  @discussion
 */
- (int64_t)_pk;
- (int64_t)id;
/*!
  @method 
  @abstract Returns the primary key for this entity as a string.
  @discussion
 */
- (NSString*)keyToString;
/*!
  @method 
  @abstract Returns the entity for the primary key value passed in; throws an exception if the entity is not found.
  @discussion
  @throws SUPPersistenceException
 */
+ (Notification_Task4_GetAddress*)load:(int64_t)id;
+ (SUPEntityMetaData*)metaData;
/*!
  @method 
  @abstract Creates a new autoreleased instance of this class
  @discussion
 */
+ (Notification_Task4_GetAddress*)getInstance;
/*!
  @method 
  @abstract Returns an SUPObjectList of log records for this entity.
  @discussion
  @throws SUPPersistenceException
 */
- (SUPObjectList*)getLogRecords;
/*!
  @method 
  @abstract Creates a new log record for this entity.
  @discussion
  @throws SUPPersistenceException
 */
- (id<SUPLogRecord>)createLogRecord:(int32_t)level withMessage:(NSString*)message;
/*!
  @method 
  @abstract Saves (creates or updates) this entity in the database.
  @discussion
  @throws SUPPersistenceException
 */
- (void)save;
/*!
  @method 
  @abstract Return a string description of this entity.
  @discussion
 */
- (NSString*)toString;
/*!
  @method 
  @abstract Return a string description of this entity.
  @discussion
 */
- (NSString*)description;
/*!
  @method 
  @abstract If this entity has pending changes, submits those changes to the server.
  @discussion
  @throws SUPPersistenceException
 */
- (void)submitPending;
/*!
  @method findAll
  @abstract Generated named query
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)findAll;

/*!
  @method findAll
  @abstract Generated named query
  @param skip
  @param take
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)findAll:(int32_t)skip take:(int32_t)take;
/*!
  @method getGetAddresss_for_NOTIFICATION_PARTNER
  @abstract Generated named query
  @param surrogateKey
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getGetAddresss_for_NOTIFICATION_PARTNER:(NSNumber*)surrogateKey;

/*!
  @method getGetAddresss_for_NOTIFICATION_PARTNER
  @abstract Generated named query
  @param surrogateKey
  @param skip
  @param take
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getGetAddresss_for_NOTIFICATION_PARTNER:(NSNumber*)surrogateKey skip:(int32_t)skip take:(int32_t)take;
/*!
  @method getPendingObjects
  @abstract Generated named query
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getPendingObjects;

/*!
  @method getPendingObjects
  @abstract Generated named query
  @param skip
  @param take
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getPendingObjects:(int32_t)skip take:(int32_t)take;
/*!
  @method getPendingObjects
  @abstract Generated named query
  @param pendingChange
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getPendingObjects:(unichar)pendingChange;

/*!
  @method getPendingObjects
  @abstract Generated named query
  @param pendingChange
  @param skip
  @param take
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getPendingObjects:(unichar)pendingChange skip:(int32_t)skip take:(int32_t)take;
/*!
  @method getReplayPendingObjects
  @abstract Generated named query
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getReplayPendingObjects;

/*!
  @method getReplayPendingObjects
  @abstract Generated named query
  @param skip
  @param take
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getReplayPendingObjects:(int32_t)skip take:(int32_t)take;
/*!
  @method getSize
  @abstract Generated class method 
  @param query
  @throws SUPPersistenceException
 */
+ (int32_t)getSize:(SUPQuery*)query;


@end

typedef SUPObjectList Notification_Task4_GetAddressList;

// internal methods declaration, only used by generated code.
@interface Notification_Task4_GetAddress(internal)

@property(retain) Notification_Task4_NOTIFICATION_PARTNER* NOTIFICATIONPARTNER;


- (id)initFromJson:(SUPJsonObject*)json:(int32_t)flags;
- (void)readJson:(SUPJsonObject*)json:(int32_t)flags;
- (SUPJsonObject*)json:(int32_t)flags;
+ (SUPObjectList*)fromJSONList:(SUPJsonArray*)jsonArray NS_RETURNS_RETAINED;
+ (SUPJsonArray*)toJSONList:(SUPObjectList*)instanceList;


- (Notification_Task4_Notification_Task4DB*)database;
@end